向量

向量点乘

公式:a*b = |a||b|cosθ
几何意义:
(1) 判断前后
(2) 投影
用矩阵表示:
向量点乘矩阵表示

向量叉乘

公式:|a×b| = |a||b|sinθ
几何意义:
(1) 判断左右
(2) 计算垂直a,b所形成平面的向量,该向量的朝向由左手定则(左手坐标系),右手定则(右手坐标系)决定
用矩阵表示:
向量叉乘矩阵表示

矩阵

  • 矩阵转置(M(T)):通俗解释,行变列,列变行
    矩阵转置
    矩阵转置

  • 矩阵乘法
    矩阵乘法
    矩阵乘法

  • 矩阵变换过程
    (1)v=(x,y,z) 拆解成v=xp+yq+zr,p,q,r为一个坐标系的+x轴,+y轴,+z轴的单位向量
    矩阵乘法
    (2)其(p,q,r)可以拆分为一个33矩阵即
    矩阵乘法
    (3)矩阵变换相当于 变换矩阵
    列向量=新的向量

  • 旋转矩阵
    (1) 2D旋转矩阵 2D旋转矩阵
    (2) 3D绕正坐标轴旋转与2D同样
    (3) 3D绕任意轴旋转 2D旋转矩阵

  • 缩放矩阵
    (1) 三轴的缩放因子kx,ky,kz 乘对应的p,q,r即是缩放矩阵 缩放矩阵
    (2) 沿任意轴缩放矩阵 沿任意轴缩放矩阵
    (3) 关于沿任意轴缩放矩阵因子k的特殊解释:
    k=-1:镜像,n相当于平面法向量
    k=0:投影,n相当于平面法向量
    k>0:普通缩放

  • 切变 (扭曲变换)
    一个/多个轴的坐标被另外一个轴以及一个/多个系数影响,2D切变如:将y乘因子s再加到x轴上,x’ = x + y*s。可以解释为,切变y轴,因子s,x轴受y轴切变影响
    切变
    切变

  • 行列式 (矩阵M的行列式表示为:|M|)
    行列式
    行列式

  • 余子式 (M(ij)表示从M矩阵中去掉第 i 行以及第 j 列后剩余的矩阵)
    余子式

  • 代数余子式
    代数余子式

  • 行列式性质
    (1).|A*B|=|A||B|
    (2).|M(T)|=|M| 注:M(T)为M的转置
    (3).矩阵任意行或列都为零,则行列式为零
    (4).交换矩阵的任意两行或两列,行列式变负
    (5).任意行或列的非零积加到另一行或列上,行列式值不变
    (6).行列式的值=2D中的面积,3D中的体积
    行列式性质

  • 矩阵的逆 M(-1)
    矩阵的逆 公式: “标准伴随矩阵” / 行列式 = 矩阵的逆
    矩阵的逆
    矩阵的逆
    矩阵的逆

  • 正交矩阵 (通常表示为Q)
    M * M(T) = I,M * M(-1) = I,M(T) = M(-1)
    (1)M(T),M(-1)也为正交矩阵
    (2)|M| = +1或-1
    (3)M(T)各行为单位向量且两两相交
    几何意义:在已知该矩阵为正交矩阵的前提下,求矩阵的逆只需要求矩阵的转置而不用复杂计算。
    在坐标转换中旋转矩阵都是正交矩阵

  • 4X4齐次矩阵
    平移是一个特殊的变换矩阵,在3X3矩阵中无法表示,因此添加了一个唯独存放平移信息,其中W分量为1表示向量,而W分量为0表示点
    4X4齐次矩阵

欧拉角

  • 比较常见的表达旋转的方式,用三个旋转角度表示当前的旋转值,分别对应:绕x,y,z轴旋转度数。
  • 优点:表达简单易懂,任意3个数表示欧拉角都是有效的
  • 缺点:插值困难,如+190°与-170°实际表现是一样的但是普通插值会造成360°以上的旋转,旋转中某种特殊情况会出现万向锁问题

四元数

  1. Q = [w v] = [w x y z]
  2. 单位四元数:Q = [1 0]
  3. 带入角度以及旋转轴:
    四元数
  4. 四元数的模
    四元数
    四元数
  5. 四元数的共轭:q(*) ,向量变负
    四元数
  6. 四元数的逆:q(-1) * q = [1 0] (单位四元数),由共轭除以模获得
    四元数
  7. 四元数的乘法(叉乘):(满足乘法结合律,不满足交换律)
    四元数
  8. 使用四元数旋转
    标准3D坐标(x,y,z)转成p=[0 (x,y,z)],q为旋转矩阵:[cos(θ/2) n*sin(θ/2)]
    再通过以下公式
    由右向左旋转: 四元数
    由左向右旋转: 四元数
  9. 四元数的差:计算四元数’a’旋转到’b’的角位移,用’d’表示 a*d = b ,同时左乘一个a的逆(四元数不支持除法)
    四元数
  10. 四元数点乘 几何意义:a·b的绝对值越大,说明a与b角位移越相似
    四元数
  11. 四元数求幂:(比较常用)
    一个四元数q(1/3) 表示1/3的q的角位移; q(2):两倍q的角位移

几何图元

  • 自由度概念:自由度是决定一个图元可用的最少参数。 如:球:半径,矩形:长,宽,高
  • 边界球检测相交
  • AABB包围盒检测相交:矩形的边于世界坐标系平行,满足相交条件Xmin <= X <= Xmax , Ymin <= Y <= Ymax , Zmin <= Z <= Zmax
    关于AABB包围盒的变换,当物体变换时,并不能直接设置AABB盒子(旋转等,盒子大小会变化),而需要重新计算
  • 点到平面的距离计算:取平面任意一点,得向量a以及于平面的夹角θ,sinθ*|a|即最短距离
  • 三角形面积计算:1.bh/2 ,2.海伦公式(在不知道高的情况下):
  • 三角形重心,内心,外心计算, 重心:三角形平衡点,内心:到三条边距离相等,外心:到三个顶点距离相等
  • 证明点在三角形内部,只需要用三角形的三个点于点P的向量分别于其三条边的向量做叉乘,求得点P在边的左侧或右侧,但三条边都在内部则点P在三角形内部

几何检测 (重点 重复查看)

三角网格 (没看懂)

图形数学

可见性检测